home *** CD-ROM | disk | FTP | other *** search
- /* subprogram for "Notes.pprx" */
-
- signal on halt
- signal on break_c
- signal on break_e
- signal on break_d
- call ppm_SetStyle(N)
-
- noteneingabe:
- /* smallest notedistance */
- sysart = "notesystem:2"
- systemart = ppm_Getform("Please repeat your choice of the notesystems... (2, 1v oder 1b)", 3, sysart)
- select
- when systemart == '2' then zdist = 4
- when systemart == '1v' then zdist = 2
- when systemart == '1b' then zdist = 2
- otherwise noteneingabe()
- end
- zdist2 = zdist-2
- xgrdform = "(1,2,4,8 oder 16)"
- xgrd = ppm_GetForm("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform)
- if xgrd == '' then exit_msg("Break")
- select
- when xgrd == '1' then xg =0.7
- when xgrd == '2' then xg =1.4
- when xgrd == '4' then xg =2.8
- when xgrd == '8' then xg =5.6
- when xgrd == '16' then xg =11.2
- otherwise notenwert()
- end
-
- /* pointmessure of the notes */
- notepkt = 26
- call ppm_SetJustification(0)
-
- zz = 0 /* linecounter (german:Zeilenzähler) */
- notex = 0
- notey = 0
- page = ppm_CurrentPage()
-
- clickpos:
- res = ppm_GetUserText(2, "Manual or align to a box ? m/b")
-
- if res == 'M' then res = 'm'
- if res == 'B' then res = 'b'
- click:
- select
- when res == 'm' then
- do
- clickpos = ppm_GetClickPosition("Pleace click on the place, where I shall begin...")
- if clickpos == 0 then
- do
- click()
- end
- else
- do
- notey = word(clickpos, 2)
- notex = word(clickpos, 1)
- if notex < 2.5 then notex = 2.5
- xw = notex
- yw = notey
- if systemart ~= '2' then
- do
- if notey <= 3.3 then zz= 0 /* zz is linecounter */
- if ((notey > 3.5)&(notey < 5.3)) then zz = 2
- if ((notey > 5.5)&(notey < 7.3)) then zz = 4
- if ((notey > 7.5)&(notey < 9.3)) then zz = 6
- if ((notey > 9.5)&(notey < 11.3)) then zz = 8
- if ((notey > 11.5)&(notey < 13.3)) then zz = 10
- if ((notey > 13.5)&(notey < 15.3)) then zz = 12
- if ((notey > 15.5)&(notey < 17.3)) then zz = 14
- if ((notey > 17.5)&(notey < 19.3)) then zz = 16
- if ((notey > 19.5)&(notey < 21.3)) then zz = 18
- if ((notey > 21.5)&(notey < 23.3)) then zz = 20
- if ((notey > 23.5)&(notey < 25.3)) then zz = 22
- if notey > 25.3 then noteneingabe()
- end
- else
- do
- if notey <= 3.3 then zz= 0
- if ((notey > 5.5)&(notey < 7.3)) then zz = 4
- if ((notey > 9.5)&(notey < 11.3)) then zz = 8
- if ((notey > 13.5)&(notey < 15.3)) then zz = 12
- if ((notey > 17.5)&(notey < 19.3)) then zz = 16
- if ((notey > 21.5)&(notey < 23.3)) then zz = 20
- end
- end
-
- end
- when res == 'b' then
- clickb:
- do
- clickbox = ppm_ClickOnBox("Pleace click on a box, where I shall work away ...")
- if clickbox == '' then clickb()
- pos = ppm_GetBoxPosition(clickbox)
- notex = word(pos, 1)
- notey = word(pos, 2)
- xw = notex
- yw = notey
- call ppm_BoxAtPosn(notex, notey, page)
- if notey <= 3.3 then zz= 0
- if ((notey > 5.5)&(notey < 9.3)) then zz = 4
- if ((notey > 9.5)&(notey < 13.3)) then zz = 8
- if ((notey > 13.5)&(notey < 17.3)) then zz = 12
- if ((notey > 17.5)&(notey < 21.3)) then zz = 16
- if ((notey > 21.5)&(notey < 25.3)) then zz = 20
-
- if notex <= 1 then
- do
- noteneingabe()
- end
- end
- otherwise clickpos()
- end
-
-
- /* pointerbox */
-
- zbid = ppm_CreateBox(notex, zz+0.5, 0.3, 1, 0)
- call ppm_SetSize(26)
- zbn = ppm_GetBoxName(zbid)
- call ppm_TextIntoBox(zbn, '5')
-
-
- notenwert:
-
- do forever
- cr = '0a'x
- form = "wort name ['n'at.]"
- call ppm_SetBoxPosition(zbid, notex, zz+0.5)
- call ppm_UpdateScreen()
- eingabe = ppm_GetForm("Please give in for the notes ...(nothing=BREAK )", 7, form)
- if eingabe = '' then
- do
- call ppm_DeleteBox(zbid)
- exit_msg("Break")
- end
- nw = word(eingabe, 1)
- nn = word(eingabe, 2)
- if nw == 'P' then nw = 'p'
- al = word(eingabe, 3)
- if al == 'N' then al = 'n'
- IF nw == 'D' then nw = 'd'
- if nw == 'C' then nw = 'c'
- if nw == 'L' then nw = 'l'
- if nn == 'L' then nn = 'l'
- if nw == "NEW" then nw = "new"
- if nw == "END" then nw = "end"
-
- select
- when nn=='GB2' then nn = 'Gb2'
- when nn=='BB2' then nn = 'Bb2'
- when nn=='AB2' then nn = 'Ab2'
- when nn=='DB3' then nn = 'Db3'
- when nn=='EB3' then nn = 'Eb3'
- when nn=='GB3' then nn = 'Gb3'
- when nn=='AB3' then nn = 'Ab3'
- when nn=='BB3' then nn = 'Bb3'
- when nn=='DB4' then nn = 'Db4'
- when nn=='EB4' then nn = 'Eb4'
- when nn=='GB4' then nn = 'Gb4'
- when nn=='AB4' then nn = 'Ab4'
- when nn=='BB4' then nn = 'Bb4'
- when nn=='DB5' then nn = 'Db5'
- when nn=='EB5' then nn = 'Eb5'
- otherwise NOP
- end
-
- /* x-distance of the notes */
- select
- when nw=='s' then
- do
- xw = xg/16
- nw='x'
- yv = 0
- end
- when nw=='S' then
- do
- xw = xg/16
- nw='X'
- yv = 0.47
- end
- when nw=='e' then
- do
- xw = xg/8
- nw='e'
- yv = 0
- end
- when nw=='E' then
- do
- xw = xg/8
- nw='E'
- yv = 0.47
- end
- when nw=='q' then
- do
- xw = xg/4
- nw='q'
- yv = 0
- end
- when nw=='Q' then
- do
- xw = xg/4
- nw='Q'
- yv = 0.47
- end
- when nw=='h' then
- do
- xw = xg/2
- yv = 0
- end
- when nw=='H' then
- do
- xw = xg/2
- yv = 0.47
- end
- when nw=='w' then
- do
- xw = xg
- nw='w'
- yv = 0
- end
- when nw=='W' then
- do
- xw = xg
- nw='W'
- yv = 0.47
- end
-
- /*point after the note */
-
- when nw == 'pt' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- when nw == 'PT' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- /* delete */
- when nw == 'd' then
- do
- oldpos = notex
- thisbox = ppm_BoxNum()
- if thisbox == zbid then
- do
- ppm_Inform(1, "Nothing to delete!","OK")
- notenwert()
- end
- lpos= ppm_GetBoxPosition()
- notex = word(lpos, 1)
- call ppm_DeleteBox()
- diff = oldpos - notex
- if diff<0 then notenwert()
- if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
- py = zz - 1
- px = notex - 4
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- /* barline */
- when nw == 'l' then
- do
- call ppm_SetLineWeight(0.25)
- call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
- notex = notex+0.2
- end
-
- /* Pausen */
- when nw == 'p' then
- do
- pausenwert:
- x = notex
- select
- when nn== '1' then do
-
- y = 2.28+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg
- notex = notex+xw
- end
-
- when nn== '2' then do
-
- y = 2.32+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg/2
- notex = notex+xw
- end
-
- when nn== '4' then do
-
- y = 2.07+zz
- Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
- xw = xg/4
- notex = notex+xw
- end
-
- when nn== '8' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
- xw = xg/8
- notex = notex+xw
- end
-
- when nn== '16' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
- xw = xg/16
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- /*spaces*/
-
- when nw == 'c' then
- do
- select
-
- when nn== '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn== '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn== '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn== '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn== '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- when nw == 'new' then
- do
- call ppm_DeleteBox(zbid)
- clickpos()
- end
- otherwise notenwert()
- end
-
-
- /* y-distance of the notes - notestem to top */
-
- call ppm_SetLineWeight(0.25)
-
- select
- when nn=='f#5' then
- do
- yw = 0.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='f5' then
- do
- yw = 0.645
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='e5' then
- do
- yw = 0.745
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='eb5' then
- do
- yw = 0.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='d#5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='d5' then
- do
- yw = 0.845
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='db5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c#5' then
- do
- yw = 0.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c5' then
- do
- yw = 0.945
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='b4' then
- do
- yw = 1.045
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='bb4' then
- do
- yw = 1.045
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='a#4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='a4' then
- do
- yw = 1.145
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='ab4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='g#4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g4' then
- do
- yw = 1.245
- if al == 'n' then call auflhoch()
- end
- when nn=='gb4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#4' then
- do
- yw = 1.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f4' then
- do
- yw = 1.345
- if al == 'n' then call auflhoch()
- end
- when nn=='e#4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e4' then
- do
- yw = 1.445
- if al == 'n' then call auflhoch()
- end
- when nn=='eb4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d4' then
- do
- yw = 1.545
- if al == 'n' then call auflhoch()
- end
- when nn=='db4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='c#4' then
- do
- yw = 1.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='c4' then
- do
- yw = 1.645
- if al == 'n' then call auflhoch()
- end
- when nn=='b3' then
- do
- yw = 1.745
- if al == 'n' then call auflhoch()
- end
- when nn=='bb3' then
- do
- yw = 1.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='a#3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='a3' then
- do
- yw = 1.845
- if al == 'n' then call auflhoch()
- end
- when nn=='ab3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='g#3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g3' then
- do
- yw = 1.945
- if al == 'n' then call auflhoch()
- end
- when nn=='gb3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#3' then
- do
- yw = 2.045
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f3' then
- do
- yw = 2.045
- if al == 'n' then call auflhoch()
- end
- when nn=='e#3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e3' then
- do
- yw = 2.145
- if al == 'n' then call auflhoch()
- end
- when nn=='eb3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d3' then
- do
- yw = 2.245
- if al == 'n' then call auflhoch()
- end
- when nn=='db3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='c#3' then
- do
- yw = 2.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='c3' then
- do
- yw = 2.345
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='b2' then
- do
- yw = 2.445
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='bb2' then
- do
- yw = 2.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='a#2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='a2' then
- do
- yw = 2.545
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='ab2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g#2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g2' then
- do
- yw = 2.645
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
-
- when nn=='gb2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='f#2' then
- do
- yw = 2.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='f2' then
- do
- yw = 2.745
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='e2' then
- do
- yw = 2.845
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
-
- /* y-distance of the notes- notestem to bottom */
-
- when nn=='F#5' then
- do
- yw = 1.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='F5' then
- do
- yw = 1.12
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='E5' then
- do
- yw = 1.22
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='Eb5' then
- do
- yw = 1.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='D#5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='D5' then
- do
- yw = 1.32
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='Db5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='C#5' then
- do
- yw = 1.42
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='C5' then
- do
- yw = 1.42
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='B4' then
- do
- yw = 1.52
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='Bb4' then
- do
- yw = 1.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='A#4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='A4' then
- do
- yw = 1.62
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='Ab4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='G#4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G4' then
- do
- yw = 1.72
- if al == 'n' then call aufltief()
- end
- when nn=='Gb4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#4' then
- do
- yw = 1.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F4' then
- do
- yw = 1.82
- if al == 'n' then call aufltief()
- end
- when nn=='E#4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E4' then
- do
- yw = 1.92
- if al == 'n' then call aufltief()
- end
- when nn=='Eb4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D4' then
- do
- yw = 2.02
- if al == 'n' then call aufltief()
- end
- when nn=='Db4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='C#4' then
- do
- yw = 2.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='C4' then
- do
- yw = 2.12
- if al == 'n' then call aufltief()
- end
- when nn=='B3' then
- do
- yw = 2.22
- if al == 'n' then call aufltief()
- end
- when nn=='Bb3' then
- do
- yw = 2.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='A#3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='A3' then
- do
- yw = 2.32
- if al == 'n' then call aufltief()
- end
-
- when nn=='Ab3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='G#3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G3' then
- do
- yw = 2.42
- if al == 'n' then call aufltief()
- end
- when nn=='Gb3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#3' then
- do
- yw = 2.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F3' then
- do
- yw = 2.52
- if al == 'n' then call aufltief()
- end
- when nn=='E#3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E3' then
- do
- yw = 2.62
- if al == 'n' then call aufltief()
- end
- when nn=='Eb3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D3' then
- do
- yw = 2.72
- if al == 'n' then call aufltief()
- end
- when nn=='Db3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='C#3' then
- do
- yw = 2.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='C3' then
- do
- yw = 2.82
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='B2' then
- do
- yw = 2.92
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='Bb2' then
- do
- yw = 2.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='A#2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='A2' then
- do
- yw = 3.02
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='Ab2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G#2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G2' then
- do
- yw = 3.12
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='Gb2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='F#2' then
- do
- yw = 3.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='F2' then
- do
- yw = 3.22
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='E2' then
- do
- yw = 3.32
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
- otherwise notenwert()
- end
-
-
- /* dimension of a notebox */
- notewidht = 0.64
- noteheight = 0.97
-
-
- boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
- call ppm_SetSize(notepkt)
- call ppm_TextIntoBox(boxid, nw)
- bakx = notex
- notex = (notex + xw)
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- end
- end
- exit
-
- auflhoch:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
- return
- end
-
- aufltief:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
- return
- end
-
- break_d:
- break_e:
- break_c:
- halt:
- call exit_msg("User aborted Genie!")
-
-
- exit_msg: procedure
- do
- parse arg message
-
- if message ~= '' then
- call ppm_Inform(1,message,)
-
- call ppm_ClearStatus()
- call ppm_AutoUpdate(1)
- exit
- end
-